"""
    字符串切片是按照某些规则把一个大的字符串中某些元素提取出来，组成一个 小字符串
    切片 方法适用于 字符串、列表、元组


    字符串切片语法：字符串[开始索引:结束索引:步长]
    注意：区间属于 左闭右开 型 [ 开始索引, 结束索引 )  => 开始索引 >= 范围 < 结束索引

    切片从头开始，开始索引 数字可以省略，冒号不能省略
"""
# ----- 列表切片 -----
mlist = ["a", "b", 1, 2, 3]
print(mlist[1:3])  # ['b', 1]

# ----- 元组切片 -----
mtuple = ("a", "b", 1, 2, 3)
print(mtuple[1:4:2])  # ('b', 2)

# ----- 字符串切片 -----
num_str = "0123456789"
# 1. 截取从 2 ~ 5 位置 的字符串
print(num_str[2:6])  # 2345

# 2. 截取从 2 ~ 末尾 的字符串
print(num_str[2:])  # 23456789

# 3. 截取从 开始 ~ 5 位置 的字符串
print(num_str[:6])  # 012345

# 4. 截取完整的字符串
print(num_str[:])  # 0123456789

# 5. 从开始位置，每隔一个字符截取字符串
print(num_str[::2])  # 02468

# 6. 从索引 1 开始，每隔一个取一个
print(num_str[1::2])  # 13579

# 倒序切片，切倒数第一个字符
print(num_str[-1])  # 9

# 7. 截取从 2 ~ 倒数第一个的字符串
print(num_str[2:-1])  # 2345678

# 8. 截取字符串末尾两个字符
print(num_str[-2:])  # 89

# 9. 字符串的逆序（面试题）
print(num_str[::-1])  # 9876543210
